/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.nus.application.ejb.user;

import com.nus.dataaccess.dao.conference.Conference;
import com.nus.dataaccess.dao.conference.ConferenceAuthor;
import java.util.List;
import java.util.Map;
import javax.ejb.Local;

/**
 *
 * @author kenny
 */
@Local
public interface ConferenceEjbLocal {

    public String getTestString();

    public List<Conference> listAllConference();

    public Conference retrieveConferenceById(Long conferenceId);

    public void persistConference(Conference conference);

    public List<Conference> paginateConference(int first, int pageSize, String sortField, boolean ascending, Map<String, Object> filters);

    public int countPaginateConference(Map<String, Object> filters);

    public void deleteConference(Conference conference);

    public List<ConferenceAuthor> paginateConferenceAuthor(int first, int pageSize, String sortField, boolean ascending, Map<String, Object> filters);

    public int getTotalCountConferenceAuthor(Map<String, Object> filters);

    public ConferenceAuthor retrieveConferenceAuthor(Long conferencAuthorId);

    public void persistReviewAssignment(ConferenceAuthor conferenceAuthor);

    public List<ConferenceAuthor> paginateConferenceAuthorByAuthor(Long authorId, int first, int pageSize, String sortField, boolean ascending, Map<String, Object> filters);

    public int getTotalCountConferenceAuthorByAuthor(Long authorId , Map<String, Object> filters);

    public void publishConferenceItem(Long conferenceId);

}
